function getVarFromPath(e,t,r){try{if(null==e||""===(e=e.trim()))return null;null==r&&(r=this||window);var a=/^this\./i;null==t&&(0===e.search(a)?(t=r,e=e.replace(a,"")):t=window);var n,o=e.split("."),s=o.length,i=null;for(n=0;n1024&&e<=Math.pow(1024,2)&&(t=(e/1024).toFixed(2)+"KB"),e>Math.pow(1024,2)&&e=Math.pow(1024,3)&&e<=Math.pow(1024,4)&&(t=(e/Math.pow(1024,3)).toFixed(2)+"GB"),t}function convertStrToPath(e,t,r,a){null==a&&(a={}),returnData={pathStr:e,data:null!=r?r:{},paths:[],lastPathScope:null,lastPathIndex:-1};var n=a.returnType||null,o=a.maxWhileIdx||20;isNaN(o)&&(o=20);var s,i,l,u,c,p=a.pathValueCallback||null,f=a.pathFormatCallback||null,d=null!=a.containsArrKeyBraces&&a.containsArrKeyBraces===!0,h=null==a.triggerTrimArrKeyBraces||a.triggerTrimArrKeyBraces===!0,m=null,v=null,g=null,y=e;if(e.length>0){if(null!=a.pathDelim)m=a.pathDelim;else if(null!=a.pathDelimPattern)v=a.pathPattern,g=a.pathDelimFlags||null,m=new RegExp(v,g);else switch(t){case void 0:case null:case"":m=".";break;case"[]":m=/\\\\\[/g,y=y.replace(/\[([^\]]+)\]/gi,"\\\\[$1\\\\]"),null==f&&(f=function(e,t,r,a){return e.replace(/\\\\\]|(^\[)|(^\])/g,"")}),"containsArrKeyBraces"in a||(d=!0);break;case"{}":m="{",null==f&&(f=function(e){return e.replace(/\}$/,"")});break;case"/":m="/";break;case"\\":m="\\";break;default:throw new Error("Unexpected path pattern type whilst converting string to path: "+t,500)}var b=$.extend({},a,{isLast:!1,returnData:returnData}),x=/\[\]$/;for(returnData.paths=null!=a.paths?a.paths:y.split(m),i=returnData.paths.length,u=returnData.data,s=0;so)throw new Error("Too many nested paths whilst converting string to path!",500);if(s===i-1&&(b.isLast=!0),c={},d&&l.search(x)!==-1&&(c=[],h&&(l=l.replace(x,""),returnData.paths[s]=l)),null!=p){if(p(u,l,c,s,returnData.paths,b)!==!0)break}else null==u[l]&&(u[l]=c),b.isLast===!0&&"endPathValue"in b&&(u[l]=b.endPathValue);if(b.isLast===!0){returnData.lastPathIndex=s,returnData.lastPathScope=u[l];break}u=u[l]}else returnData.paths.splice(s,1),s--,i--;u=null,b=null,s=null}switch(n){case void 0:case null:case"":returnData=returnData.data;break;case"map":}return returnData}function setElemAjaxListeners(e,t){function r(e,t){return{thisArg:e,ajaxSettings:Array.isArray(t)?a.apply(this,t):t}}function a(e,t,r,a,n){return{type:a||"POST",url:e,data:t||{},dataType:n||null,success:r.success||null,error:r.error||null,complete:r.complete||null}}var n=!0;if(null==e||0===e.length)return!1;null==t&&(t={});var o,s,i,l,u,c,p,f,d,h,m,v=[["ajaxSuccess","success"],["ajaxError","error"],["ajaxComplete","complete"]],g=e.length;for(o=0;o');break;case"popup-login":n=$('');break;case"pink":n=$('');break;case"blue-small":n=$('');break;case"ajax":n=$('');break;case"sun-smile":n=$('');break;case"recache":n=$('');break;case"small":n=$('');break;default:throw new Error("Unexpected return type whilst creating loader icon: "+e,500)}return t["class"]&&n.addClass(t["class"]),null!=t.styles&&n.css(t.styles),null!=r&&(r instanceof HTMLElement?$(r).append(n):r.append(n)),n}function getFormData(e,t,r){null==t&&(t={}),null==r&&(r={});var a=null!=r.returnType?r.returnType:null,n=t instanceof FormData;null==r.isFormDataSupported&&(r.isFormDataSupported=isSupportedFormData(null,!0,!0));var o=r.isFormDataSupported;o||(a=null,t instanceof FormData&&(t={}));var s,i,l,u,c,p,f,d,h=null==r.triggerAppend||r.triggerAppend===!0,m=/\[\]+$/;switch(a){case"formData":n!==!0&&(t=new FormData),n=!0}if(null!=e&&(!(e instanceof HTMLElement)&&(Array.isArray(e)||"object"==typeof e&&"length"in e)||(e=[e]),e.length>0)){i=e.length;var v=$.extend({},{triggerTrimArrKeyBraces:!1,pathValueCallback:function(e,t,r,a,n,o){null==o&&(o={});var s=!1;t.search(m)!==-1&&(s=!0,t=t.replace(m,""));var i=e.hasOwnProperty(t),l=null,u=!1;if(i&&(l=e[t],u=Array.isArray(l)),s===!0&&(u!==!0&&(e[t]=null==l?[]:[l],l=e[t]),u=!0),o.isLast!==!0)null==l&&s!==!0&&(e[t]=r);else if("endPathValue"in o){var c=o.endPathValue,p=null==c||""===String(c).trim();if(p){if(i)return!0}else s===!0?(Array.isArray(c)||(c=[c]),h===!0&&(c=l.concat(c))):null!=l&&""!==String(l).trim()&&h===!0&&(u!==!0&&(l=[l]),c=l.concat(c));e[t]=c}return!0}});for(s=0;s0))for(f in l)d=l[f],n===!0?h===!0?null==d&&formData.has(f)||t.append(f,d):t.set(f,d):(v.endPathValue=d,convertStrToPath(f,"[]",t,r));else t=getFormData(l,t,v)}switch(a){case void 0:case null:case"":case"formData":break;default:throw new Error("Unexpected return type whilst getting form data: "+a,500)}return t}function isSupportedFormData(e,t,r){var a={init:!1,set:!1,append:!1,entries:!1};if(a.init="undefined"!=typeof FormData,a.init){a.init=!0;var n=new FormData;"function"==typeof n.set&&(a.set=!0),"function"==typeof n.append&&(a.append=!0),"function"==typeof n.entries&&(a.entries=!0)}return null!=e?a[e]:r===!0?t===!0?[a.init,a.set,a.append,a.entries].indexOf(!1)===-1:a.init===!0:a}function createAjaxSettings(e,t,r,a,n,o){null==t&&(t={}),null==r&&(r={}),null==a&&(a=!0),null==n&&(n={}),null==o&&(o={});var s,i,l,u=t instanceof FormData,c=null;null==n.type&&(n.type="POST"),n.url=e,n.data=t,u===!0&&(n.contentType=!1,n.processData=!1),"error"in r||(r.error=ajaxErrorHandler),c=["success","error","complete"],i=c.length;for(s=0;s");$("body").append(t),t.val(e),t.select();var r=document.execCommand("copy");return t.remove(),r}function copyTextToClipboardNative(e,t,r){return null==e?(null!=r&&r(),!1):"function"==typeof navigator.clipboard.writeText?(navigator.clipboard.writeText(e).then(function(){null!=t&&t()})["catch"](function(){null!=r&&r()}),!0):copyTextToClipboard(e)?(null!=t&&t(),!0):(null!=r&&r(),!1)}function animateCSS(e,t,r,a){function n(n){e.removeClass(t),a.triggerRemoveClassAnim===!0&&e.removeClass(o),"function"==typeof r&&r()}try{if(""===(t=t.trim()))return;if(e=$(e),0===e.length)return;a=Object.assign({triggerRemoveClassAnim:!e.hasClass("animated")},a||{});var o="animated "+t;e.addClass(o).on("animationend",n)}catch(s){}}function initTwinklVar(e,t){return t=t||window,"undefined"==typeof t.twinkl||null==t.twinkl?t.twinkl=e||{}:"object"!=typeof t.twinkl?t.twinkl=e||{}:null!=e&&(t.twinkl=Object.assign(t.twinkl,e)),twinkl}function returnTwinklVarProp(e,t){if(null==e||""===String(e).trim())throw new Error("Property is not defined.");return twinkl=initTwinklVar(null,t),twinkl[e]}function returnTwinklUserData(){return returnTwinklVarProp("userData")}function returnTwinklTranslationData(){return returnTwinklVarProp("translationData")}function timeNow(e){var t=0;return t=isSetJQueryLib()?$.now():isSetMomentLib()?moment().valueOf():Math.floor(Date.now()),e===!0?Math.floor(t/1e3):t}function isSetMomentLib(){return"function"==typeof moment}function showDropDownMessage(e,t,r){$(".topbar").remove();var a="topbar";t&&(a+=" error");var n={"class":a,text:e};void 0!==r&&r===!0&&(n={"class":a,html:e}),$("
",n).hide().prependTo("body").slideDown("fast").delay(3e3).slideUp("fast",function(){$(this).remove()})}function formatErrorsToList(e){var t="
    ";return $(e).each(function(e,r){t+="
  • "+r+"
  • "}),t+="
"}function decodeHtmlEntities(e){for(var t=[["amp","&"],["apos","'"],["#x27","'"],["#x2F","/"],["#39","'"],["#47","/"],["lt","<"],["gt",">"],["nbsp"," "],["quot",'"']],r=0,a=t.length;r
'),$(".appriseOverlay").css("height",s).css("width",i).fadeIn(250),u.append('
'),t&&t.close&&($(".appriseOuter").append('',!0),$(".appriseOuter .closeX").click(function(){$(".appriseOverlay").remove(),$(".appriseOuter").remove(),r&&r(!1)})),t&&t.center?$(".appriseOuter").append('
'):$(".appriseOuter").append('
'),$(".appriseInner").append(e),$(".appriseOuter").css("left",($(window).width()-$(".appriseOuter").width())/2+$(window).scrollLeft()+"px"),t){if(t.input){if("object"==typeof t.input){var c=t.input;$(".appriseInner").append('
')}else"string"==typeof t.input?$(".appriseInner").append('
'):$(".appriseInner").append('
');$(".aTextbox").focus()}if(t.textarea){var p=t.textarea;"object"==typeof t.textarea?$(".appriseInner").append('
"):"string"==typeof t.textarea&&$(".appriseInner").append('
'),p.height&&$(".aTextarea").css("height",p.height),$(".aTextarea").keyup(function(){$(this).removeClass("error"),$(".note_error").remove(),T=$(this).val()})}}if($(".appriseInner").append('
'),t)if(t.confirm||t.input)$(".aButtons").append('"),$(".aButtons").append('");else if(t.verify)$(".aButtons").append('"),$(".aButtons").append('");else if(t.login)$(".aButtons").append(''),$(".aButtons").append(''),$(".aButtons").append('");else if(t.subscribe)$(".aButtons").append(''),$(".aButtons").append('");else if(t.signup)$(".aButtons").append(''),$(".aButtons").append(''),$(".aButtons").append(''),$(".aButtons").append('");else if(t.print_options)$(".aButtons").append(''),$(".aButtons").append(''),$(".aButtons").append('');else if(t.download)$(".aButtons").append(''+t.textOk+""),$(".aButtons").append(''+t.textCancel+""),$(".aButtons").append(''+t.textDownload+"");else if(t.imageButtons)for(var f=0;f
'+t.imageButtons[f].caption+"
");else $(".aButtons").append('");else $(".aButtons").append('');if(t&&t.checkbox&&("string"==typeof t.checkbox&&$(".appriseInner").append('
'+t.checkbox+"
"),$(".aCheckbox").change(function(){l=$(this).prop("checked")?"selected":"not selected"})),t&&t.link&&$(".appriseInner").append(''+t.linkText+""),t)if(t.animate){var d=t.animate;if(isNaN(d)&&(d=400),"false"==t.emergeFrom)$(".appriseOuter").css("top","-200px").show().animate({top:"100px"},d);else{var h=$(t.emergeFrom);if(h.length){var m=h[0].getBoundingClientRect().top,v=h[0].getBoundingClientRect().left,g=h.width(),y=h.height(),b=v-g/2,x=m-y/2,w=$(".appriseOuter").width();$(".appriseInner").outerHeight();$(".appriseOuter").css({top:x,left:b,opacity:0,width:0,height:0}).show().animate({top:"100px",left:($(window).width()-w)/2+"px",opacity:1,width:w,height:$(".appriseInner").outerHeight()+"px"},d)}else $(".appriseOuter").css("top","100px").fadeIn(200)}}else $(".appriseOuter").css("top","100px").fadeIn(200);else $(".appriseOuter").css("top","100px").fadeIn(200);$(document).keydown(function(e){$(".appriseOverlay").is(":visible")&&(13==e.keyCode&&($(".aTextarea").is(":focus")||(e.preventDefault(),"Save"!=$('.aButtons > button[value="ok"]').text()&&$('.aButtons > button[value="ok"]').click())),27==e.keyCode&&(e.preventDefault(),$('.aButtons > button[value="cancel"]').click()))});var k=$(".aTextbox").val(),T=$(".aTextarea").val();k||(k=!1),$(".aTextbox").keyup(function(){$(this).removeClass("error"),$(".note_error").remove(),k=$(this).val()}),a&&a(),$(".aButtons > button").click(function(){if(t?t.dontClose||($(".appriseOverlay").remove(),$(".appriseOuter").remove()):($(".appriseOverlay").remove(),$(".appriseOuter").remove()),r){var e=$(this).attr("value");"ok"==e?r(t?t.input?[k,T]:t.textarea?[T]:t.checkbox?[!0,l]:!0:!0):"cancel"==e?r(!1):"login"==e?r("login"):"premium"==e?r("premium"):"signup"==e?r("signup"):"download"==e?r("download"):"number"==typeof parseInt(e)&&r(parseInt(e))}}),$(".aButtons > a.button").click(function(e){if("#"==$(this).attr("href")&&e.preventDefault(),r){var t=$(this).attr("value");r($(this).hasClass("grey")?!1:t)}}),$(".aButtons > .imageButtons").click(function(e){if(t?t.dontClose||($(".appriseOverlay").remove(),$(".appriseOuter").remove()):($(".appriseOverlay").remove(),$(".appriseOuter").remove()),r){var a=$(this).find(".caption").html();r(a)}})}function displaySuccess(){alert("you have errors")}function response500(e){alert("that is a 500 error")}function myTest(e){alert(e)}function isBoolInput(e){return null!=e&&["checkbox","radio"].indexOf($(e).attr("type"))!==-1}function evalInputBoolValue(e,t,r){switch("undefined"!=typeof r&&null!=r?(r=$(r),e=$(r).val(),t=$(r).prop("checked")===!0):t="undefined"!=typeof t&&t===!0,String(e).toLowerCase()){case"on":case"off":return t?"on":"off";case"yes":case"no":return t?"yes":"no";default:return t?1:0}}function returnBrowserUrl(e){e=e||{};var t=window.location.href;return e.include_proto!==!0&&(t=t.replace(/^https:\/\//,"/")),e.include_path===!1&&""!==window.location.pathname.replace(/^\/+/).trim()&&(t=t.replace(window.location.pathname,"")),e.include_query===!1&&""!==window.location.search.replace(/^\?+/).trim()&&(t=t.replace(window.location.search,"")),e.include_hash===!1&&""!==window.location.hash.replace(/^\#+/).trim()&&(t=t.replace(window.location.hash,"")),t}function returnBrowserUrlWithProtocol(e){return returnBrowserUrl(Object.assign({include_proto:!0},e||{}))}function returnBrowserUrlWithParams(e){return returnBrowserUrl(Object.assign({include_query:!0},e||{}))}function returnUrlQueryValue(e){var t=returnBrowserUrlWithParams(),r=new RegExp("[?&]"+e+"=([^&#]*)").exec(t);return null===r?null:decodeURI(r[1])||null}function replaceFileExtension(e,t,r){var a=r.lastIndexOf("."+e);return a===-1?r:r.substring(0,a)+"."+t}function isAjaxTextStatusSuccess(e){var t=["success","notmodified","nocontent"].indexOf(e.trim().toLowerCase());return t!==-1}function isJqueryPromiseStateResolved(e){return"resolved"===e.state()}function isJqueryPromiseStateRejected(e){return"rejected"===e.state()}function isJqueryPromiseStatePending(e){return"pending"===e.state()}function select2DoNotShowInSearchResult(e,t){if("undefined"==typeof t.text)return null;if("undefined"==typeof e.term||""===e.term.trim())return t;if("false"===t.element.getAttribute("data-search"))return null;var r=t.text.trim();return""===r?null:r.toLocaleLowerCase().indexOf(e.term.toLocaleLowerCase())>=0?t:null}function isValidJsonObject(e){try{var t=JSON.parse(e);return"object"==typeof t}catch(r){}return!1}function createCookie(e,t,r,a){var n;if(r||a){var o=new Date;o.setTime(o.getTime()+24*r*60*60*1e3),a&&o.setTime(o.getTime()+1e3*a),n="; expires="+o.toGMTString()}else n="";document.cookie=escape(e)+"="+escape(t)+n+"; path=/"}function readCookie(e){for(var t=escape(e)+"=",r=document.cookie.split(";"),a=0;a'+e+"").hide().insertAfter(n.find(":header").first()).slideDown():$('
'+e+"
").hide().prependTo($(this)).slideDown():(""!==t&&n.data("error-count")>1&&$('
'+t+"
").insertAfter($(this)),""!==e&&$('
'+e+"
").insertAfter($(this)),n.addClass("has-error")),"function"==typeof r)$(this).on("input",function(e){r()&&n.hasClass("has-error")&&n.find(".form-error, .form-error-hint, .form-error-block").fadeOut(function(){$(this).remove(),n.removeClass("has-error")})});else switch(r){case"not_blank":$(this).on("keyup",function(e){""!=$(this).val()&&n.hasClass("has-error")&&n.find(".form-error, .form-error-hint, .form-error-block").fadeOut(function(){$(this).remove(),n.removeClass("has-error")})});break;case"valid_email":$(this).on("keyup",function(e){isEmailValid($(this).val())&&n.hasClass("has-error")&&n.find(".form-error, .form-error-hint, .form-error-block").fadeOut(function(){$(this).remove(),n.removeClass("has-error")})});break;case"is_numeric":$(this).on("keyup",function(e){validateNumeric($(this).val())&&n.hasClass("has-error")&&n.find(".form-error, .form-error-hint, .form-error-block").fadeOut(function(){$(this).remove(),n.removeClass("has-error")})});break;case"change":"select"==s?$(this).on("change",function(e){n.hasClass("has-error")&&n.find(".form-error, .form-error-hint, .form-error-block").fadeOut(function(){$(this).remove(),n.removeClass("has-error")})}):$(this).on("keyup",function(e){$(this).val()!=o&&n.hasClass("has-error")&&n.find(".form-error, .form-error-hint, .form-error-block").fadeOut(function(){$(this).remove(),n.removeClass("has-error")})});break;case"match":var i=$("input[name='"+a+"']");$(this).on("keyup",function(e){$(this).val()==i.val()&&n.hasClass("has-error")&&(n.find(".form-error, .form-error-hint, .form-error-block").fadeOut(function(){$(this).remove(),n.removeClass("has-error")}),i.parent().removeClass("has-error"))});case"blur":$(this).on("blur",function(e){n.hasClass("has-error")&&n.removeClass("has-error")})}return!0},$.fn.response200=function(e,t,r){$(this).displaySuccessOptions(e,t,r)},$.fn.displaySuccessOptions=function(e,t,r){if(t.length){var a=$(this);$.each(t,function(t,n){switch(n){case"modal":apprise(e.html,{width:r.width});break;case"reset":a[0].reset();break;case"redirect":setTimeout(function(){window.location.assign(e.data.redirect)},r.delay);break;case"hide":a.hide();break;case"remove":$("div.ui-dialog").remove(),$("#overlay").hide();break;case"dropdown":showDropDownMessage(e.html);break;case"reveal":$("#"+r.target).slideDown();break;case"replace":a.find(".replace").html(e.html);break;case"callback":"function"==typeof r.callback&&r.callback.call(a,e)}}),a.hasClass("highlighted_form")&&(a.find(".dirty").removeClass("dirty"),a.find(".form-footer").slideUp()),a.find(".form-error-block").remove(),a.find(".form-error").remove(),a.find(".has-error").removeClass("has-error")}},$.fn.response201=function(e){apprise("your resource has been created",{width:"400px"})},$.fn.response202=function(e){apprise("Your request has been accepted, unfortunately it could not be processed",{width:"400px"})},$.fn.response205=function(){form=$(this),form[0].reset()},$.fn.response401=function(e){apprise("We could not process your request.
Authentication required",{width:"400px"})},$.fn.response403=function(e){apprise("Your request was refused. You do not have the necessary permissions",{width:"400px"})},$.fn.response404=function(e){apprise("Your resources were not found",{width:"400px"})},$.fn.formHandler=function(e){var t=$(this);if(t.length){var r={width:"400px",delay:5e3,replace:null,revealtarget:null,onError:function(e){(e.error||e.errors)&&t.formErrorsHandle(e)},on200:function(e,r,a){t.response200(e,r,a)},on201:function(e){t.response201(e)},on202:function(e){t.response202(e)},on205:function(){t.response205()},on400:function(e){(e.error||e.errors)&&response400(e)},on401:function(e){t.response401(e)},on403:function(e){t.response403(e)},on404:function(e){t.response404(e)},on500:null,onSuccess:null,callback:null,successActions:["dropdown"]},a=t.data("success").split(",");dataSettings=$(this).data(),r=$.extend({},r,dataSettings);var e=$.extend({},r,e);$("#"+e.revealtarget).length&&$("#"+e.revealtarget).hide(),t.on("submit",function(r){r.preventDefault();var n=t.serializeArray();$.post(t.attr("action"),n,function(r,n,o){if("function"==typeof e.onSuccess)return e.onSuccess.call(t,r);if(r.success){var s="on"+o.status;"function"==typeof e[s]&&e[s].call(t,r,a,e)}else{var s="onError";"function"==typeof e[s]&&e[s].call(t,r)}},"json").fail(function(r,a,n){var o=JSON.parse(r.responseText),s="on"+r.status;"function"==typeof e[s]&&e[s].call(t,o)})})}},$.fn.formErrorsHandle=function(e){form=$(this);var t,r=$(this).prop("tagName").toLowerCase();if("form"==r)return t=$(this),e.error&&form.formErrorHandle(e.error),e.errors&&Object.keys(e.errors).forEach(function(t){form.find('[name="'+t+'"]').formErrorHandle(e.errors[t].msg,e.errors[t].hint,e.errors[t].clear,e.errors[t].element)}),!0};